package com.ourcraft.informationcollectionsystem.service.province.userManage;

import com.ourcraft.informationcollectionsystem.entity.DTO.UserDetailInfo;
import com.ourcraft.informationcollectionsystem.entity.User;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 用户管理模块调用的服务接口
 *
 * @author Z0136
 * @since 2023/11/1
 */
@Service
public interface UserManageService {

    /**
     * 根据需要创建的用户信息创建用户
     *
     * @param roleId 角色Id
     * @param city   用户所属市
     * @return 是否创建成功
     */
    boolean createUser(int roleId, String city);

    /**
     * 获取所有用户的详细信息
     *
     * @return 所有用户的详细信息
     */
    List<UserDetailInfo> getAllUserInfo();

    /**
     * 重置用户密码
     *
     * @param userAccount 重置密码的用户账号
     * @return 是否重置成功
     */
    boolean resetUserPassword(int userAccount);

    /**
     * 修改用户角色
     *
     * @param user 修改的用户的详细信息，包含用户Id、用户角色和所属市
     * @return 是否修改成功
     */
    String changeUserRole(UserDetailInfo user);

    /**
     * 修改用户状态
     *
     * @param userId 修改的用户账号
     * @param status 修改后用户状态
     * @return 是否修改成功
     */
    boolean changeUserStatus(int userId, boolean status);
}
